﻿using System;
using System.Collections.Generic;
using System.Management.Automation;
using System.Text;

namespace Nivot.PowerShell.WindowsMobile.Commands
{
    public abstract class WMPathCommandBase : WMCommandBase
    {
        protected const string ParamSetLiteralPath = "LiteralPath";
        protected const string ParamSetPath = "Path";

        [Alias("PSPath")]
        [ValidateNotNullOrEmpty]
        [Parameter(Position = 0, Mandatory = true,
            ParameterSetName = ParamSetLiteralPath, ValueFromPipeline = false,
            ValueFromPipelineByPropertyName = true)]
        public string[] LiteralPath { get; set; }

        [ValidateNotNullOrEmpty]
        [Parameter(Position = 0, Mandatory = true, ParameterSetName = ParamSetPath)]
        public string[] Path { get; set; }

        [ValidateNotNullOrEmpty]
        [Parameter(Position = 1, Mandatory = true)]
        public string Destination { get; set; }
    }
}
